# VozDoTempo (Время голосом)

## Обзор

VozDoTempo (Время голосом) - это дополнение для NVDA, которое объявляет текущее время с использованием звуковых эффектов и голосовых клипов. Дополнение предоставляет как ручной запрос времени, так и автоматические объявления по расписанию.

## Основные возможности

- **Озвучивание времени** с звуковыми эффектами и голосовыми клипами
- **Автоматические объявления** каждый час или каждые полчаса
- **Гибкие форматы времени**: 24-часовой и 12-часовой с озвучиванием периодов дня
- **Приветствия** в зависимости от времени суток (доброе утро/день/вечер)
- **Режим тишины** для отключения автоматических объявлений в указанный период
- **Звуковые сигналы** перед объявлениями

## Использование

### Ручной запрос времени

- **Сочетание клавиш**: `Control+Shift+V`
- При нажатии воспроизводится короткий звуковой сигнал (если включено) и озвучивается текущее время
- Если в момент запроса уже идет воспроизведение, вы получите сообщение "Дождитесь окончания воспроизведения"

### Автоматические объявления

Дополнение может автоматически объявлять время:
- **Каждый час** (в 00 минут)
- **Каждые полчаса** (в 00 и 30 минут)

Автоматические объявления могут сопровождаться звоном колокола.

## Настройки

### Основные настройки

- **Произносить приветствия** - включает/выключает приветствия (доброе утро/день/вечер)
- **Формат времени**:
  - 24-часовой (00-23)
  - 12-часовой (AM/PM с озвучиванием)
- **Сокращённый режим** - для 12-часового формата (например: "пять двенадцать вечера")
- **Говорить "половина" в :30** - использовать "и половина" вместо "и тридцать"
- **Короткий звук при ручном запросе** - звуковой сигнал перед ручным объявлением времени

### Автоматические объявления

- **Автоматическое объявление** - включает/выключает автоматические объявления
- **Частота**:
  - Каждый час (00)
  - Каждые полчаса (00 и 30)
- **Колокол перед объявлениями** - проигрывать звон колокола перед автоматическими объявлениями

### Режим тишины

- **Отключать автоматическое время в интервале** - включает режим тишины
- **Начало тишины (ЧЧ:ММ)** - время начала периода тишины
- **Конец тишины (ЧЧ:ММ)** - время окончания периода тишины

В указанный интервал автоматические объявления времени отключаются.

## Особенности работы

### Форматы объявления времени

**24-часовой формат**:
- "0 часов 15 минут" (для 00:15)
- "15 часов 30 минут" 
- "22 часа 45 минут"

**12-часовой формат**:
- "12 часов утра" (для 00:00)
- "5 часов 15 минут утра"
- "3 часа дня"
- "10 часов 30 минут вечера"

### Особые случаи

- **Полночь и полдень** озвучиваются специальными фразами
- **Полчаса** могут объявляться как "и половина" (если включено)
- **Единственное и множественное число** правильно склоняются ("час" vs "часа" vs "часов")

## Технические детали

### Файловая структура

Дополнение использует предзаписанные голосовые клипы и звуковые эффекты из папки `sounds`:
- Числа (0-20, десятки)
- Периоды дня (утро, день, вечер, ночь)
- Приветствия
- Звуковые эффекты UI
- Звон колокола

### Автоматическое планирование

- Использует таймеры wx.CallLater для точного планирования
- Учитывает секунды для предотвращения повторных срабатываний
- Автоматически перепланирует при изменении настроек

## Примечания

- Для работы автоматических объявлений NVDA должна быть запущена
- Дополнение предотвращает конфликты воспроизведения с помощью блокировок потоков
- Настройки сохраняются автоматически при изменении
- Режим тишины работает только для автоматических объявлений, ручной запрос времени всегда доступен

## Поддержка

Дополнение полностью локализовано на русский язык и интегрировано в стандартную систему настроек NVDA.